1. Field of the Invention
The present invention relates to filter design, and more particularly to a method for determining coefficients for an all pass filter.
2. Description of the Related Art
All pass filters are used to realize a given group delay response in linear systems. Various methods have been proposed for designing all pass filters to satisfy a given group delay specification. For example, in xe2x80x9cDesign of Recursive Group Delay Filters by Autoregressive Modeling,xe2x80x9d IEEE Trans. Acoust., Speech and Signal Processing, Vol. ASP-30, pp. 632-637, August 1982, by B. Yegnanarayana, autoregressive modeling is used to derive the all pass filter coefficients from the cepstral coefficients. G. R. Reddy and M. N. S. Swamy, in xe2x80x9cDigital All-pass Filter Design Through Discrete Hilbert Transform,xe2x80x9d pp. 646-649, ISCAS 1990, used the discrete Hilbert transform relationship between the log magnitude function and the phase of the Fourier transform to obtain the filter coefficients of an all pass filter. P. A. Bernhardt, in xe2x80x9cSimplified Design of Higher-order Recursive Group Delay Filters,xe2x80x9d IEEE Trans. Acoust. Speech and Signal Processing, vol. ASSP-28, pp. 498-503, October 1980, used an iterative computer algorithm for solving a set of non-linear equations to get the parameters of the filter.
Although the above method provide alternatives to determining coefficients for all pass filter designs, the methods and algorithms are expensive in terms of time for processing. Therefore, a need exists for a method, which reduces the computation time and the complexity for determining all pass-filter coefficients.
A method for designing an all pass filter, in accordance with the present invention, includes providing a plurality of electrical or optical signals having a group delay, and normalizing the group delay to determine a normalized group delay function. Cepstral coefficients of the normalized group delay function are determined for to a denominator polynomial of a transfer function of the all pass filter wherein a magnitude function and the normalized group delay function of the denominator polynomial are related through the cepstral coefficients. The denominator polynomial coefficients are determined through a non-linear recursive difference equation by employing the cepstral coefficients.
In other methods, the step of determining cepstral coefficients may include the steps of determining the cepstral coefficients c(k) using the relation:       τ    ⁢          xe2x80x83        ⁢          (      w      )        =            ∑              k        =        1            ∞        ⁢          xe2x80x83        ⁢          kc      ⁢              xe2x80x83            ⁢              (        k        )            ⁢              xe2x80x83            ⁢      cos      ⁢              xe2x80x83            ⁢      kw      
where xcfx84(w) is a group delay function k is an index and w is 2xcfx80f and f is a normalized sampling frequency. The relation       τ    ⁢          xe2x80x83        ⁢          (      w      )        =            ∑              k        =        1            ∞        ⁢          xe2x80x83        ⁢          kc      ⁢              xe2x80x83            ⁢              (        k        )            ⁢              xe2x80x83            ⁢      cos      ⁢              xe2x80x83            ⁢      kw      
may be solved by an Inverse Fast Fourier Transform (IFFT). The step of determining the denominator polynomial coefficients through a non-linear recursive difference equation by employing the cepstral coefficients may further include employing the non-linear recursive difference equation:             a      n        =                  ∑                  k          =          0                n            ⁢              xe2x80x83            ⁢                        (                      k            n                    )                ⁢                  xe2x80x83                ⁢        c        ⁢                  xe2x80x83                ⁢                  (          k          )                ⁢                  xe2x80x83                ⁢                  a                      n            -            k                                ,      n     greater than     0  
to determine the denominator polynomial coefficients, wherein an represents the denominator polynomial coefficients, c(k) represents the cepstral coefficients, k is an index, and n is the order of the all pass filter. The transfer function may given by H(z)=N(z)/D(z) where N(z) is a numerator polynomial and D(z) is the denominator polynomial. The coefficients of the denominator polynomial are preferably the same as the numerator polynomial with mirror-image symmetry such that determining the denominator polynomial coefficients determines H(z). The method steps of the present invention may be implemented on a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for is designing an all pass filter given a plurality of electrical or optical signals having a group delay.
A method for designing an all pass filter includes the steps of providing a plurality of electrical or optical signals having a group delay, normalizing the group delay to determine a normalized group delay function, and determining coefficients for the all pass filter. The step of determining coefficients for the all pass filter includes determining cepstral coefficients of the normalized group delay function by employing only one inverse Fourier transform operation and determining polynomial coefficients of the all pass filter through a non-linear recursive difference equation by employing the cepstral coefficients.
In other methods, the step of determining cepstral coefficients may include the steps of determining the cepstral coefficients c(k) using the relation:       τ    ⁢          xe2x80x83        ⁢          (      w      )        =            ∑              k        =        1            ∞        ⁢          xe2x80x83        ⁢          kc      ⁢              xe2x80x83            ⁢              (        k        )            ⁢              xe2x80x83            ⁢      cos      ⁢              xe2x80x83            ⁢      kw      
where xcfx84(w) is a group delay function k is an index and w is 2xcfx80f and f is a normalized sampling frequency. The non-linear recursive difference equation may include:             a      n        =                  ∑                  k          =          0                n            ⁢              xe2x80x83            ⁢                        (                      k            n                    )                ⁢                  xe2x80x83                ⁢        c        ⁢                  xe2x80x83                ⁢                  (          k          )                ⁢                  xe2x80x83                ⁢                  a                      n            -            k                                ,      n     greater than     0    ,
wherein an represents the polynomial coefficients, c(k) represents the cepstral coefficients, k is an index, and n is the order of the all pass filter. The transfer function may be given by H(z)=N(z)/D(z) where N(z) is a numerator polynomial and D(z) is a denominator polynomial, wherein the polynomial coefficients of the denominator polynomial are the same as the numerator polynomial with mirror-image symmetry such that determining the denominator polynomial coefficients determines H(z). The method steps of the present invention may be implemented on a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for designing an all pass filter given a plurality of signals having a group delay.